<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016-06-20
 * Time: 13:41
 * Ŀ¼��
1��php��δ�ӡ�����ܵ�ʱ���ʽ����:"2015-01-22 14:42:09"
2��php��δ�ӡ�����ܵ�ʱ���ʽ����:"2015-01-15 14:42:09"
3��php��δ�ӡ���ϸ��µ�ʱ���ʽ����:"2014-12-22 14:42:09"
4������һ��echo��print��print_r ����
5��php���ʵ���ַ�����ת����:"abcdefg" ��ת�� "gfedcba"
6��php���ʵ�������ַ�����ȡ������ķ���(mb_*ϵ�к���)
7��php���д����ʾ�ͻ��˺ͷ�������IP�Ĵ���
8��mysql�� IFNULL ����������;IFNULL()
9������include��require������
10��php��λ�ȡһ���ַ�����ָ�����ַ���
11��php��������滻�ַ����е��ض��ַ�����:"�����滻$content�����ַ����е�����˫����Ϊ������"
12��php��ν�UEditor��FCkeditor�༭���е�����ת��ΪJSON����
13��php��addslashes()�� htmlspecialchars()����
14��php���ȥ���������ظ���ֵ��ʹ�����麯�� array_unique() ��������
15��php��$GLOBALSȫ�ֱ�����global�ؼ��ֵ�����
16��php�лص����� call_user_func() ���ʹ�ã�
17��php�����ʹ�� array_multisort() ����ʵ�ֶԶ�ά�����������
18��php���Ƴ�����Ԫ���м��ַ�ʽ��
19��php����ζ�����Ԫ�ؽ��еݹ�ת�壿
20��php����λ�ȡ�ļ���չ����
21��php����β���һ���ַ����Ƿ�������Ԫ���г��ֹ�,��γ��ֹ�,�򷵻ظ�����Ԫ�أ�
22��php�г��õĻص���������Щ��
23��php�еݹ鷴ת��
24��php�г��õı��뺯������
25��discuz�и�����ķֱ����
26��php����εݹ�ѭ��ĳĿ¼�µ���Ŀ¼���ļ������
27��php����ν��������еļ���ֵ��
28��php�����ɾ�����������һ��Ԫ�أ�
29��php������������β�����һ������Ԫ�أ�
30��php����δ����������ѡ��һ������Ԫ�أ�������
31��php����ν������еĵ�һ��Ԫ���Ƴ���
32��php����������鿪ͷ���һ������Ԫ�أ�
33��php������������
34��php��reset()��end()������ʹ��
35��php��crypt()��md5()������ܺ�����ʹ��
36��php��parse_str()�����Ѳ�ѯ�ַ���������������
37��дһ������,�����ܸ�Ч��,��һ����׼ url ��ȡ���ļ�����չ��,���磺/abc/de/fg.php?id=1 ��Ҫȡ�� php �� face.php
38����HTTP 1.0�У�״̬�� 401 �ĺ����ǣ���;������ء��Ҳ����ļ�������ʾ������� header �����������Ϊ����
39������php.ini�ļ��е�safe_modeѡ��,��Ӱ�쵽��Щ������Ӧ�ã�����˵���ĸ�
40������POST��GET�������������Ƕ��٣�
41�����ͨ��form�������ϴ��ļ��Ĵ�С��
42������򵥵Ĵ����дһ����ȡ�������������ֵ�ĺ�����
43����ν� 1234567890 ת���� 1,234,567,890 ÿ��λ�ö��Ÿ�������ʽ��
44����ξ����ܸ�Ч�Ĵӱ�׼URL��ȡ���ļ�����
45��php��stripos()��strpos()��strripos()��strrpos() �ַ�������������
46����дһ��������ʵ�����¹��ܣ��ַ���"open_door" ת���� "OpenDoor"��"make_by_id" ת���� "MakeById"
47��php��������������ڵĲ���������2007-2-5 ~ 2007-3-6 �����ڲ���
48�������php�Ļ��������õ�һ����ҳ��ַ������?
49��php�лص�����array_map()��array_walk()������
50�����ʹ��phpʵ��˫����У�
 *
 */

/**
 * ��1��:��PHP��ӡ�����ܵ�ʱ���ʽ,��:"2015-01-22 14:42:09"
 */

echo date("Y-m-d H:i:s",strtotime("-1 day"))."<br/>";


/**
 * ��2��:��PHP��ӡ�����ܵ�ʱ���ʽ,��:"2015-01-15 14:42:09"
 */

echo date("Y-m-d H:i:s",strtotime("-1 week"))."<br/>";

/**
 * ��3��:��PHP��ӡ���ϸ��µ�ʱ���ʽ,��:"2014-12-22 14:42:09"
 */

echo date("Y-m-d H:i:s",strtotime("-1 month"))."<br/>";
/**
 * ��4��:����һ��echo��print��print_r ����
 * print_r()��Ҫ�����������Ľṹ;echo �� print ��Ҫ��������ַ���,ֻ����echo ��ͬʱ�������ַ���,print ֻ�����һ���ַ���;
 * echo �� print ����:
(1)ʹ�����ʽ������ַ���,��ʱ����ҪС����;������ϰ��,����ϰ��ʹ�����ʽ������ַ���
(2)ʹ�ú�����ʽ������ַ���,echo�޷���ֵ,print�з���ֵ,�ɹ����� 1,ʧ�ܷ��� 0
 */

print_r(array("hello world"))."<br/>";

echo (print "ddd")."<br/>";

/**
 * ��5��:���ʵ���ַ�����ת,��:"abcdefg" ��ת�� "gfedcba";���ַ�ʽ:(1)����php�Դ���strrev()���� (2)�Զ��庯�� strrevv
 */

echo strrev("abcdefg")."<br/>";

$str = "abcdefg";
function strrevv($str){
    $len=strlen($str);
    $newstr = '';
    for($i=$len-1;$i>=0;$i--){
        $newstr .= $str{$i};
    }
    return $newstr;
}
$showstr = strrevv($str);
echo $showstr."<br>";

//array_reverse():��ԭ�����е�Ԫ��˳��ת,�����µ����鲢����;����ڶ�������ָ��Ϊtrue,��Ԫ�صļ������ֲ���,����:
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r(array_reverse($a));


/**
 * ��6��:���ʵ�������ַ�����ȡ������ķ���(mb_*ϵ�к���),����:��Ҫ���� extension=php_mbstring.dll ��չ ,���:"��"
 */

echo mb_substr("���",0,1,"gb2312")."<br/>";

/**
 * ��7��:��PHPд����ʾ�ͻ��˺ͷ�������IP�Ĵ���
 */

echo $_SERVER['REMOTE_ADDR'];//�ͻ���IP
echo $_SERVER['SERVER_ADDR'];//��������IP
echo $_SERVER['PHP_SELF'];//���:"/index.php"   ��ǰ�ű�������(������·���Ͳ�ѯ�ַ���)
echo $_SERVER["HTTP_REFERER"];//���ӵ���ǰҳ�����Դurl
echo gethostbyname("www.v1pin.com");//��ȡָ��������IP��ַ
echo getenv("REMOTE_ADDR");//��ȡ�ͻ���IP��ַ
echo getenv("SERVER_ADDR");//��ȡ��������IP��ַ

    /**
     * ��8��:mysql�� IFNULL ����������;IFNULL()
     * IFNULL():
     *      (1)�����������������ҶԵ�һ�����������жϡ�
     *      (2)�����һ����������NULL,�����ͻ�������߷��ص�һ������;�����NULL,�����صڶ�������;
     * ����:
     *      SELECT IFNULL(1,2), IFNULL(NULL,10), IFNULL(4*NULL,'false');//���:"1 10  false"
     */

    /**
     * ��9��:����include��require������
     * ��ͬ��:
     *      (1)include��require���ܰ�����һ���ļ���������ǰ�ļ���
     * ��ͬ��:
     *      (1)ʹ��includeʱ,���������ļ�������ʱϵͳ�ᱨ�����漶��Ĵ���,������Ӱ�����ĺ���ִ��.
     *      (2)ʹ��requireʱ,���������ļ�������ʱϵͳ���ȱ������漶��Ĵ���,�����ֱ���һ�������ԵĴ���,����ֹ����ĺ���ִ��.
     *      (3)requireֻ����Ͱ������ļ�һ��,�����ٽ��͵ڶ���,���Ч����Խϸ�;��include����ظ��Ľ��Ͱ������ļ�
     *      (4)����ʱ����ͬ:require������ǰ��������ļ�,include������ʱ��������ļ�
     */

/**
 * ��10��:��λ�ȡһ���ַ�����ָ�����ַ���
 */

 $str="abcdefg";
 echo $str{2}."<br/>";

/**
 * ��11��:��������滻�ַ����е��ض��ַ�����:"�����滻$content�����ַ����е�����˫����Ϊ������"
 */

$content = str_replace($searchs=array("\""), $replaces=array("'"), $content);

    /**
     * ��12��:��ν�UEditor��FCkeditor�༭���е�����ת��ΪJSON����
     *
     *  (1)��һ�����,������ֻ��˫���ŵ����:
     *      $content='<img alt="" src="../image/20121025/20121025105514_1093.jpg" />';
     *      // {"content":"<img alt=\"\" src=\"..\/image\/20121025\/20121025105514_1093.jpg\" \/>"}
     *      echo json_encode(array("content"=>$content));
     *  (2)�ڶ������,������ֻ�е����ŵ����:
     *      $content="<img alt='' src='../image/20121025/20121025105514_1093.jpg' />";
     *      // {"content":"<img alt='' src='..\/image\/20121025\/20121025105514_1093.jpg' \/>"}
     *      echo json_encode(array("content"=>$content));
     *  (3)���������,�����м���˫����,���е����ŵ����:
     *      $content=htmlspecialchars($content);//��һЩԤ������ַ�ת��ΪHTMLʵ��
     *      $json_arr = json_encode(array("content"=>$content));//������json��Ϊ�ַ���
     *      $数组 = json_decode($json_arr,true);//��json����json��Ϊ����
     *      $数组['content']=htmlspecialchars_decode($数组['content']);//��һЩԤ�����HTMLʵ��ת��Ϊ�ַ���ʾ����ҳ��
     *
     */

    /**
     * ��13��:addslashes()�� htmlspecialchars() ����
     *
     * ����:

     *   (1)addslashes()������Ҫ��ָ����Ԥ�����ַ�ǰ��ӷ�б��,��ЩԤ�����ַ���Ҫ����:
     *
     *      ������ (')
     *      ˫���� (")
     *      ��б�� (\)
     *      NULL
     *
     *      addslashes()��������Ҫ�����Ǳ�֤��ЩԤ�����ַ��ܹ���ȷ���,���˶���
     *
     *
     * (2)htmlspecialchars()������һЩԤ������ַ�ת��ΪHTMLʵ��,��ЩԤ�����ַ���Ҫ����:
     *
     *
     *      & ���ͺţ�      ��Ϊ &amp;
     *      " ��˫���ţ�     ��Ϊ &quot;
     *      ' �������ţ�     ��Ϊ &#039;
     *      < ��С�ڣ�       ��Ϊ &lt;
     *      > �����ڣ�       ��Ϊ &gt;
     *
     *      echo htmlspecialchars($str, ENT_COMPAT);  //Ĭ��,������˫����
     *      echo htmlspecialchars($str, ENT_QUOTES);  //����˫���ź͵�����
     *      echo htmlspecialchars($str, ENT_NOQUOTES);//�������κ�����
     *
     */

/**
 * ��14��:���ȥ���������ظ���ֵ��ʹ�����麯�� array_unique() ��������
 * �������:
 *     Array(
 *          [0] => 8535455928182811
 *          [1] => 1558999140182811
 *          [3] => 5795844841182811
 *     )
 */

 $arr=array(
     "8535455928182811",
     "1558999140182811",
     "1558999140182811",
     "5795844841182811",
     "5795844841182811",
 );

 $ordersn_arr=array_unique($arr);
 echo "<pre>";print_r($ordersn_arr);exit;

    /*
    * ��15��:˵һ˵�Լ���$GLOBALSȫ�ֱ�����global�ؼ��ֵ���⣿
    *
    * (1)�����$GLOBALSȫ�ֱ���:
    *
    *    echo "<pre>";print_r($GLOBALS);
    *
    *    ���:
    *    Array
    *       (
    *           [GLOBALS] => Array
    *              *RECURSION*
    *           [_POST] => Array
    *               (
    *                  [username] => admin     //�ȼ���$_POST['username']
    *                  [password] => 123       //�ȼ���$_POST['password']
    *               )
    *           [_GET] => Array
    *               (
    *                  [username] => admin     //�ȼ���$_GET['username']
    *                  [password] => 123       //�ȼ���$_GET['password']
    *               )
    *           [_COOKIE] => Array
    *               (
    *                   [PHPSESSID] => movgbv4t1klb9fsbcd7ns8ik73
    *                   [username] => admin     //�ȼ���$_COOKIE['username']
    *                   [password] => 123       //�ȼ���$_COOKIE['password']
    *               )
    *           [_FILES] => Array
    *               (
    *                  [name] => 1.txt         //�ȼ���$_FILES['username']
    *                  [type] => image/jpeg    //�ȼ���$_FILES['password']
    *               )
    *           [_SESSION] => Array
    *               (
    *                  [username] => admin     //�ȼ���$_SESSION['username']
    *                  [password] => 123       //�ȼ���$_SESSION['password']
    *               )
    *           [pwd] => 134121233             //�ȼ���$pwd
    *           [username] => xiaoqiang        //�ȼ���$username
    *           [password] => 123              //�ȼ���$password
    *       )
    *
    * (2)�����ֵȼ۵�д��:
    *
    *    (1)$_SESSION['username']�ȼ���$GLOBALS['_SESSION']['username']
    *    (2)$_COOKIE['username']�ȼ���$GLOBALS['_COOKIE']['username']
    *    (3)$_GET['username']�ȼ���$GLOBALS['_GET']['username']
    *    (4)$_POST['username']�ȼ���$GLOBALS['_POST']['username']
    *    (5)$_FILES['username']�ȼ���$GLOBALS['_FILES']['username']
    *    (6)$username�ȼ���$GLOBALS['username']
    *
    * (3)��global�ؼ���:
    *
    *    php��ȫ�ֱ����ں�������ʹ��ʱ��������Ϊglobal;�ں�������ͨ��global�ؼ��������ı����Զ���Ϊ���������ȫ�ֱ���
    *
    *    ����1:
    *
    *    function test(){
    *       global $username;//����ȫ�ֱ���ʱ���ܸ�ֵ
    *       $username="Сǿ";//��ʱ���Ը�ȫ�ֱ�����ֵ
    *    }
    *    test();
    *    echo "<pre>";print_r($GLOBALS);exit;//���:"Сǿ"
    *
    *    ����2:
    *
    *    $username="Сǿ";
    *    function test(){
    *       global $username;//����ȫ�ֱ���ʱ���ܸ�ֵ(��ʾ:ʹ��global�ؼ������ú��������$username����)
    *       $username="С��";//��ʱ���Ը�ȫ�ֱ�����ֵ(��ʾ:����������$username�������¸�ֵ)
    *    }
    *    test();
    *    echo "<pre>";print_r($GLOBALS);exit;//���:"С��"
    *
    * (4)��ȫ�ֱ�������Ч��Χ:
    *
    *    $a = 1;include 'b.inc';//�������$a�����ڰ����ļ�b.inc����Ч
    *
    * (5)��global�����ı���Ϊȫ�ֱ���,�ں���������ⲿ��������ʹ��
    *
    *    ��:discuz_application.php����ʹ��global�ؼ���������$_Gȫ�ֱ���,��ȫվ������ʹ��
    */

/**
 * ��16��:�ص����� call_user_func() ���ʹ�ã�
 * ��ʽһ:
 *    call_user_func("�Զ��庯��","���ݸ��Զ��庯���Ĳ���1","���ݸ��Զ��庯���Ĳ���2","���ݸ��Զ��庯���Ĳ���3","���ݸ��Զ��庯���Ĳ���N....");//���ؽ��Ϊ�Զ��庯���ķ��ؽ��
 * ��ʽ��:
 *    call_user_func(array("����","������"),"���ݸ����з����Ĳ���1","���ݸ����з����Ĳ���2","���ݸ����з����Ĳ���3","���ݸ����з����Ĳ���N....");//���ؽ��Ϊ���з����ķ��ؽ��
 * ��ʽ��:
 *    call_user_func_array("�Զ��庯��",array("���ݸ����з����Ĳ���1","���ݸ����з����Ĳ���2","���ݸ����з����Ĳ���3","���ݸ����з����Ĳ���N...."));//���ݸ������Ĳ���ͳһ�ŵ�������
 * ��ʽ��:
 *    call_user_func_array(array("����","������"),array("���ݸ����з����Ĳ���1","���ݸ����з����Ĳ���2","���ݸ����з����Ĳ���3","���ݸ����з����Ĳ���N...."));//���ݸ������Ĳ���ͳһ�ŵ�������
 */
function uc_feed_add($icon, $uid, $username, $title_template='', $title_data='', $body_template='', $body_data='', $body_general='', $target_ids='', $images = array()) {
    //UC_API_FUNCֵΪ:'uc_api_mysql'��'uc_api_post';
    //�����Զ��庯��'uc_api_mysql'��'uc_api_post'
    //���ؽ��Ϊ�Զ��庯���ķ��ؽ��
    return call_user_func(UC_API_FUNC, 'feed', 'add',
        array(  'icon'=>$icon,
            'appid'=>UC_APPID,
            'uid'=>$uid,//�û�ID
            'username'=>$username,
            'title_template'=>$title_template,
            'title_data'=>$title_data,
            'body_template'=>$body_template,
            'body_data'=>$body_data,
            'body_general'=>$body_general,
            'target_ids'=>$target_ids,
            'image_1'=>$images[0]['url'],
            'image_1_link'=>$images[0]['link'],
            'image_2'=>$images[1]['url'],
            'image_2_link'=>$images[1]['link'],
            'image_3'=>$images[2]['url'],
            'image_3_link'=>$images[2]['link'],
            'image_4'=>$images[3]['url'],
            'image_4_link'=>$images[3]['link']
        )
    );
}

//��17��:���ʹ�� array_multisort() ����ʵ�ֶԶ�ά�����������
//ģ������ݿ��в�ѯ�����ļ�¼(��ʾ:��ά����)
$arr[] = array("age"=>20,"name"=>"Сǿ");
$arr[] = array("age"=>21,"name"=>"��ΰ");
$arr[] = array("age"=>20,"name"=>"С��");
$arr[] = array("age"=>22,"name"=>"����");

foreach ($arr as $key=>$value){
    $age[$key]  = $value['age']; //�����ֶ� "age"
    $name[$key] = $value['name'];//�����ֶ� "name"
}

/**
 * 1���� $数组 �����������
 *    ���Ȱ�������Ӵ�С��˳������,���������ͬ�ٰ������ֵ�˳������,������sql�е�order by
 * 2��ע������:
 *    (1)$age��$name  �ȼ��� ���ݱ��"age"��"name"���ֶ�,������ "order by age desc,name asc"
 *    (2)����˳���־:
 *          SORT_ASC - ��������˳������
 *          SORT_DESC - �����½�˳������
 *    (3)�������ͱ�־:
 *          SORT_REGULAR - ����Ŀ����ͨ�������Ƚ�
 *          SORT_NUMERIC - ����Ŀ������ֵ�Ƚ�
 *          SORT_STRING  - ����Ŀ�����ַ����Ƚ�
 *    (4)�����־��Ĭ��ֵΪ: SORT_ASC �� SORT_REGULAR
 *    (5)ÿ��һά�����ָ���������־�����Ը�һά������Ч,һ��һά���鲻��ָ������ͬ��������־
 *    (6)�ú�����ı���������,�����������ı�
 *
 */
array_multisort($age,SORT_NUMERIC,SORT_DESC,$name,SORT_STRING,SORT_ASC,$arr);
echo "<pre>";print_r($arr);exit;
/**
 * ���: �ȼ��� "select * from user order by age desc,name asc";
 * Array(
 *   [0] => Array
 *       (
 *           [age] => 22
 *           [name] => ����
 *       )
 *   [1] => Array
 *       (
 *           [age] => 21
 *           [name] => ��ΰ
 *       )
 *   [2] => Array
 *       (
 *           [age] => 20
 *           [name] => С��
 *       )
 *   [3] => Array
 *       (
 *           [age] => 20
 *           [name] => Сǿ
 *       )
 * )
 */

//��18��:�Ƴ�������Ԫ���еļ��ַ�ʽ��
//����һ:
$arr1 = array('1','2','3','4');
//��ʾ:��Ȼɾ����Ԫ��,����û���ؽ���������
unset($arr1[2]);
echo "<pre>";print_r($arr1);
/**
 *  ʹ��unset()���������Ľ��:
 *  Array(
 *      [0] => 1
 *      [1] => 2
 *      [3] => 4
 *  )
 */

//������:
$arr2 = array('1','2','3','4');
//��ʾ:ɾ����Ԫ��,�����ؽ�����������
array_splice($arr2, 2, 1);//����2-��ʼλ�� ����3-ɾ��Ԫ������
echo "<pre>";print_r($arr2);
/**
 *  ʹ��array_splice()���������Ľ��:
 *  Array(
 *      [0] => 1
 *      [1] => 2
 *      [2] => 4
 *  )
 */

//������:
$arr3 = array('1','2','3','4');
//��ʾ:ɾ����Ԫ��,���Ƴ���Ԫ���ɲ���4�����
array_splice($arr3, 2, 1,array("5"));//����1-ԭ���� ����2-��ʼλ�� ����3-ɾ��Ԫ������ ����4-�滻���Ƴ�Ԫ�ص�����
echo "<pre>";print_r($arr3);
/**
 *  ʹ��array_splice()���������Ľ��:
 *  Array(
 *      [0] => 1
 *      [1] => 2
 *      [2] => 5
 *      [3] => 4
 *  )
 */

//������:
$arr4 = array('1','2','3','4');
//��ʾ:�������н�ȡһ��Ԫ�ز�����(���ص������������ؽ�)
$arr5 = array_slice($arr4, 2, 1);//����2-��ʼλ�� ����3-ɾ��Ԫ������
echo "<pre>";print_r($arr5);
/**
 *  ʹ��array_slice()���������Ľ��:
 *  Array(
 *      [0] => 3
 *  )
 */

/**
 * ��19��:��ζ�����Ԫ�ؽ��еݹ�ת�壿
 * ���ַ�������������� addslashes ����
 * @param <mix> $string Ҫ����ת���������ַ���
 * @param <int> $force  ǿ��ת�����˼
 * @return <mix>
 */
function daddslashes($string, $force = 1) {
    if(is_array($string)) {//�Ƿ�������и�Ԫ�ؽ���ת�����
        $keys = array_keys($string);//�����еļ�
        foreach($keys as $key) {//ѭ�������еļ�
            $val = $string[$key];//��ȡ�����м�����Ӧ��Ԫ��ֵ
            unset($string[$key]);//ɾ��Ԫ��
            //��Ԫ�����¸�ֵ(�����ͼ�ֵ��������ת��:��Ҫ����������)
            $string[addslashes($key)] = daddslashes($val, $force);//�ݹ����
        }
    } else {
        $string = addslashes($string);//���ַ�������ת��
    }
    return $string;//����ת��õ�������ַ���
}

/**
 * ��20��:��λ�ȡ�ļ���չ����
 * ��ȡ�ļ���չ��
 * @param $filename �ļ���
 */
function fileext($filename) {
    //strrchr()�������ַ�������һ���ַ��������һ�γ��ֵ�λ�ã������شӸ�λ�õ��ַ�����β�������ַ�
    //strrchr("aaaaaaaa.jpg",".");//���:".jpg"
    //substr(strrchr($filename, '.'), 1, 10);//���:"jpg"
    return addslashes(strtolower(substr(strrchr($filename, '.'), 1, 10)));
}

/**
 * ��21��:��β���һ���ַ������Ƿ��������������һ��Ԫ��,����з��ظ�Ԫ���ַ������ַ����е�λ�ã�
 * �ַ�����ʽʵ�� preg_match("/(s1|s2|s3)/", $string, $match)
 * @param string $string Դ�ַ���
 * @param array $arr Ҫ���ҵ��ַ��� ��array('s1', 's2', 's3')
 * @param bool $returnvalue �Ƿ񷵻��ҵ���ֵ
 * @return bool
 */
function dstrpos($string, $arr, $returnvalue = false) {
    if(empty($string)) return false;
    foreach((array)$arr as $v) {
        //strpos() ���������ַ�������һ���ַ����е�һ�γ��ֵ�λ��.���û���ҵ����ַ������򷵻� false;�Դ�Сд����
        //stripos()���������ַ�������һ���ַ����е�һ�γ��ֵ�λ��.���û���ҵ����ַ������򷵻� false;�Դ�Сд������
        if(strpos($string, $v) !== false) {
            $return = $returnvalue ? $v : true;
            return $return;
        }
    }
    return false;
}

/**
 * ��22��:PHP���õĻص���������Щ��
 * PHP����һЩ���õĻص�����,����:
 * ������Ԫ����ĳ�ַָ���ƴ�ӳ�һ���ַ���(�˺���ƴ�ӵ��ַ����Ǵ������ŵ�),��:'ǿ��','123456'��ʽ(��������)
 * $array = array_map('addslashes', $array):���ؾ���addslashes()�ص������������$array,�ص����������Զ��岢�ұ����з���ֵ;�����û��Զ��庯�����ú������
 * $flag = array_walk($array,'addslashes'):���ؾ���addslashes()�ص������������$array,ֻ��������˳���array_map()��ͬ,�ص����������Զ��岢��û�з���ֵ;��������ÿ��Ԫ��ʹ�ûص�����������boolֵ
 * array_filter():�˺�����ר�����ڹ�ȥ�����е�Ԫ�أ��򵥵�˵���Ƕ������еľ����ص������жϵ�value���й���(һ��Ϊ�Զ���ص�����,��:������ż���Ĺ��˵�),��ͨ��array_filter()�������ش���������
 *  function myfunction($v){
 *      if ($v==="Horse"){
 *          return true;//��η���true,���������������������Ԫ�ز�����,�����ؽ�����
 *      }
 *      return false;
 *  }
 *  $a=array(0=>"Dog",1=>"Cat",2=>"Horse");
 *  print_r(array_filter($a,"myfunction"));
 *
 * ���:
 *
 * Array ( [2] => Horse )
 *
 * @param type $array
 * @return int
 */
function dimplode($array) {
    if(!empty($array)) {
        //array_map():���ؾ���addslashes()�ص������������$array,�ص����������Զ��岢�ұ����з���ֵ;�ص�������ԭ���鴦��󷵻�һ���µ�����;�����û��Զ��庯�����ú������
        //array_walk():Ҳ�Ƿ��ؾ���addslashes()�ص������������$array,ֻ��������˳��ͬ,�ص����������Զ��岢���޷���ֵ;�ص�����ֱ�Ӷ�ԭ���鴦��,���Ҳ��᷵��һ��������;����ɹ��󷵻ز���ֵtrue,��֮���ز���ֵfalse;��������ÿ��Ԫ��ʹ�ûص�����������boolֵ
        $array = array_map('addslashes', $array);//$array�ȼ��� $flag = array_walk($数组,'addslashes');�е�$数组����
        //����ƴ�Ӻõ��ַ���,��:'hello world','123456'��ʽ(��������)
        return "'".implode("','", is_array($array) ? $array : array($array))."'";//ƴ��sql���
    } else {
        return 0;
    }
}

����:
$brand_id_arr = array_unique(array_map(function ($val) { return $val['id']; }, $brand_list));//���ص��ĺ�����һ����������

/**
 * ��23��:�ݹ鷴ת��
 * stripslashes()������ʹ�ó���:��Ҫ��Ե���get_magic_quotes_gpc()=on�����,��ʱ������Ӧ������������,��:
 * <?php
 *      //˵���� �� stripslashes ��ԭ addslashes ת��������
 *       if(get_magic_quotes_gpc()){
 *           function stripslashes_deep($value){//�ݹ麯��
 *               //array_map('stripslashes_deep', $_POST);//��$_POST�����еĸ�Ԫ��ʹ��stripslashes_deep()�����д���
 *               $value = is_array($value) ? array_map('stripslashes_deep', $value) : (isset($value) ? stripslashes($value) : null);
 *               return $value;
 *           }
 *           $_POST = stripslashes_deep($_POST);//��POST�����е������ַ����з�ת��
 *           $_GET = stripslashes_deep($_GET);  //��GET�����е������ַ����з�ת��
 *           $_COOKIE = stripslashes_deep($_COOKIE);//��COOKIE�����е������ַ����з�ת��
 *       }
 * ?>
 */
function dstripslashes($string) {
    if(empty($string)) return $string;
    if(is_array($string)) {
        foreach($string as $key => $val) {
            $string[$key] = dstripslashes($val);
        }
    } else {
        $string = stripslashes($string);
    }
    return $string;
}

/**
 * ��24��:PHP�г��õı��뺯������
 * 1����̳ aid url ����,
 *    �������ɸ������ص�aid,��:"forum.php?mod=attachment&aid=MzZ8OTExOGY1Njl8MTQwOTYzODgxOXwxfDM0"
 *    $aid     ����id
 *    $type    ��������
 *    $tid     tableid
 * 2����forum_attachmentphp�ļ��пɻ�ȡaid������ֵ������:
 *    list($_GET['aid'], $_GET['k'], $_GET['t'], $_GET['uid'], $_GET['tableid']) = daddslashes(explode('|', base64_decode($_GET['aid'])));
 * 3�����ֱ��뷽ʽ����ͬ
 *    echo urlencode("����-_. ")."<br/>"; //%D6%D0%CE%C4-_.+
 *    echo urldecode("%D6%D0%CE%C4-_. ")."<br/>"; //����-_.
 *    echo rawurlencode("����-_. ")."<br/>"; //%D6%D0%CE%C4-_.%20
 *    echo rawurldecode("%D6%D0%CE%C4-_. ")."<br/>"; //����-_.
 *    echo base64_encode("����-_. ")."<br/>"; //1tDOxC1fLiA=
 *    echo base64_decode("1tDOxC1fLiA=")."<br/>"; //����-_.
 *    �ܽ�:
 *    (1)urlencode��rawurlencode���� -_. ֮������з���ĸ�����ַ��������滻�ɰٷֺţ�%�������λʮ��������
 *    (2)urlencode��rawurlencode����������urlencode ���ո������Ϊ�Ӻţ�+��,rawurlencode ���ո������Ϊ�Ӻţ�%20��
 *    (3)base64_encode����:��ʽ�Ǵ�Сд��ĸ�����֡���=���š���+���ź͡�/����,����=���Ⱥ����ֻ������,���Կ����д�Сд��ĸ���ַ���������һ���������ȺŽ�����,���������ж���base64����
 *       base64���ʺ�ֱ�ӷ���URL�ﴫ��,����base64�������С�/�� ��=�����š�Ϊ��������⣬�ɲ���һ������URL�ĸĽ�Base64����(��:str_replace())��������ĩβ���'='�ţ�������׼Base64�еġ�+���͡�/���ֱ�ĳ��� ��_���͡�-������������ȥ����URL���������ݿ�洢ʱ��Ҫ����ת��
 *
 *    urldecode()��rawurldecode()��������ַ�����utf-8��ʽ�ı���,���url�к������ĵĻ�,��ҳ�������ֲ��� utf-8 �Ļ�����Ҫ�ѽ�������ַ�������ת��,����������ʾ��
 *    echo rawurlencode("���Ƕ����й���")."<br/>";//���:utf-8����:%E6%88%91%E4%BB%AC%E9%83%BD%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA  gbk������:%CE%D2%C3%C7%B6%BC%CA%C7%D6%D0%B9%FA%C8%CB
 *    echo rawurldecode("%E6%88%91%E4%BB%AC%E9%83%BD%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA")."<br/>";//���:���Ƕ����й���
 *    REQUEST��ʽ�����������ݵ����:$aid=rawurlencode("���Ƕ����й���");$aid=rawurldecode($_REQUEST['aid']);//������Ҫ����
 *    REQUEST��ʽ���ݷ��������ݵ����:$aid=rawurlencode("admin");$aid=$_REQUEST['aid'];//�����Ĳ���Ҫ����
 */
function aidencode($aid, $type = 0, $tid = 0) {
    global $_G;
    //$_G['config']['security']['authkey']ֵ:$_config['security']['authkey'] = 'f1cb54uAKR3aYCqk';
    $s = !$type ? $aid.'|'.substr(md5($aid.md5($_G['config']['security']['authkey']).TIMESTAMP.$_G['uid']), 0, 8).'|'.TIMESTAMP.'|'.$_G['uid'].'|'.$tid : $aid.'|'.md5($aid.md5($_G['config']['security']['authkey']).TIMESTAMP).'|'.TIMESTAMP;
    //urldecode()��rawurldecode()��������ַ�����utf-8��ʽ�ı���,���url�к������ĵĻ�,��ҳ�������ֲ��� utf-8 �Ļ�����Ҫ�ѽ�������ַ�������ת��,����������ʾ��
    //echo rawurlencode("���Ƕ����й���")."<br/>";//���:utf-8����:%E6%88%91%E4%BB%AC%E9%83%BD%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA  gbk������:%CE%D2%C3%C7%B6%BC%CA%C7%D6%D0%B9%FA%C8%CB
    //echo rawurldecode("%E6%88%91%E4%BB%AC%E9%83%BD%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA")."<br/>";//���:���Ƕ����й���
    //REQUEST��ʽ�����������ݵ����:$aid=rawurlencode("���Ƕ����й���");$aid=rawurldecode($_REQUEST['aid']);//������Ҫ����
    //REQUEST��ʽ���ݷ��������ݵ����:$aid=rawurlencode("admin");$aid=$_REQUEST['aid'];//�����Ĳ���Ҫ����
    return rawurlencode(base64_encode($s));//�����ϱ��뷽ʽ
}

/**
 * ��25��:�����ֱ����
 */
/**
 * ͨ�� AID ��ȡ��������
 * @param <int> $aid
 */
function getattachtablebyaid($aid) {
    $attach = C::t('forum_attachment')->fetch($aid);
    $tableid = $attach['tableid'];
    return 'forum_attachment_'.($tableid >= 0 && $tableid < 10 ? intval($tableid) : 'unused');
}

/**
 * ����ָ�� tid ����Ӧ�ĸ�������
 * ����$tid=69,��ô $tid{strlen($tid)-1} �ȼ��� $tid{1} �ȼ��� 9 ,����tidΪ69�������Ӧ�ĸ�������pre_forum_attachment_9
 * @param <int> $tid
 */
function getattachtableid($tid) {
    $tid = (string)$tid;
    //����$tid=69,��ô $tid{strlen($tid)-1} �ȼ��� $tid{1} �ȼ��� 9
    //����tidΪ69�������Ӧ�ĸ�������pre_forum_attachment_9
    //����ֵΪ0-9,���Ը�����Ҳֻ����0-9,��:pre_forum_attachment_0 �� pre_forum_attachment_9
    return intval($tid{strlen($tid)-1});
}

/**
 * ͨ�� tid ��ȡ��������
 * @param <int> $tid
 */
function getattachtablebytid($tid) {
    return 'forum_attachment_'.getattachtableid($tid);
}

/**
 * ͨ�� pid ��ȡ��������,��:"pre_forum_attachment_0"��"pre_forum_attachment_1"��"pre_forum_attachment_2"��"pre_forum_attachment_unused"
 * @param <int> $pid
 */
function getattachtablebypid($pid) {
    $tableid = DB::result_first("SELECT tableid FROM ".DB::table('forum_attachment')." WHERE pid='$pid' LIMIT 1");
    return 'forum_attachment_'.($tableid >= 0 && $tableid < 10 ? intval($tableid) : 'unused');
}

/**
 * ���һ���µĸ���������¼���������¸��� ID
 * @param <int> $uid
 */
function getattachnewaid($uid = 0) {
    global $_G;
    $uid = !$uid ? $_G['uid'] : $uid;
    return C::t('forum_attachment')->insert(array('tid' => 0, 'pid' => 0, 'uid' => $uid, 'tableid' => 127), true);
}



/**
 * ��26��:�ݹ�ѭ��ĳĿ¼�µ���Ŀ¼���ļ������
 */
function tree($dir,$level=1){

    $fh=opendir($dir);//��Ŀ¼

    while($dirname=readdir($fh)){//ѭ����ȡ��ǰĿ¼�µ���Ŀ¼���ļ�
        if($dirname == '.' || $dirname == '..'){
            continue;
        }

        echo "|".str_repeat('-',$level).$dirname;//Ŀ¼�����ļ���,str_repeat("|-",$num);//���ַ����ظ�ָ���Ĵ���
        echo '<br>';
        if(is_dir($dir. '/' .$dirname)){//�����Ŀ¼,��ݹ����

            tree($dir. '/' .$dirname,$level+2);
        }
    }
}

tree('D:/wamp/www/discuz3/source/');



/**
 * ��27��:���������еļ���ֵ
 */
$a=array(
    0=>"Dog",
    1=>"Cat",
    2=>"Horse"
);
echo "<pre>";
print_r(array_flip($a));

/**
 * ��array_flip()���麯�������Ľ��:
 * Array(
 *   [Dog] => 0
 *   [Cat] => 1
 *   [Horse] => 2
 *  )
 */

/**
 * ��28��:ɾ�����������һ��Ԫ��
 */
$a=array("Dog","Cat","Horse");
array_pop($a);
echo "<pre>";print_r($a);

/**
 * ��array_pop()���麯�������Ľ��:
 * Array(
 *   [0] => Dog
 *   [1] => Cat
 *  )
 */

/**
 * ��29��:array_push()�������һ������������β�����һ������Ԫ�أ���ջ��,Ȼ�󷵻�������ĳ���
 */
$a=array("Dog","Cat");
$b=array("Horse","Bird");
$num=array_push($a,$b);//���:3
echo "<pre>";print_r($a);

/**
 * ��array_push()���麯�������Ľ��:
 * Array(
 *   [0] => Dog
 *   [1] => Cat
 *   [2] => Array
 *       (
 *           [0] => Horse
 *           [1] => Bird
 *       )
 * )
 */

/**
 * ��30��:array_rand() ���������������ѡ��һ������Ԫ�أ�������
 * ע��:
 *    (1)���ֻѡȡһ��Ԫ��,��ô����ѡ����Ԫ�صļ���
 *    (2)�����ֹѡȡһ��Ԫ��,�򷵻ذ����������������
 */
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo "<pre>";print_r(array_rand($a,2));

/**
 * ��array_rand()���麯�������Ľ��:
 * Array(
 *   [0] => b
 *   [1] => c
 * )
 */

/**
 * ��31��:array_shift()�� array �ĵ�һ����Ԫ�Ƴ�����Ϊ������أ��� array �ĳ��ȼ�һ��������������Ԫ��ǰ�ƶ�һλ�����е����ּ�������Ϊ���㿪ʼ���������ּ���������
 */
$stack = array(
    array("admin","123"),
    array("admin1","123"),
    array("admin2","123"),
    array("admin3","123")
);
$fruit = array_shift($stack);
echo "<pre>";print_r($fruit);
echo "<pre>";print_r($stack);

/**
 * ��array_shift()���麯�������Ľ��:
 * Array(
 *   [0] => admin
 *   [1] => 123
 * )

 * Array(
 *   [0] => Array(
 *           [0] => admin1
 *           [1] => 123
 *       )
 *   [1] => Array(
 *           [0] => admin2
 *           [1] => 123
 *       )
 *   [2] => Array(
 *           [0] => admin3
 *           [1] => 123
 *       )
 * )
 */

/**
 * ��32��:array_unshift() ���������鿪ͷ����һ������Ԫ��
 */
$stack = array(
    array("admin1","123"),
    array("admin2","123"),
    array("admin3","123")
);

$num = array_unshift($stack,array("admin","123"));//��������Ԫ�ظ���
echo "<pre>";print_r($stack);

/**
 * ��array_unshift()���麯�������Ľ��:

 * Array(
 *   [0] => Array
(
[0] => admin
[1] => 123
)
 *   [1] => Array(
 *           [0] => admin1
 *           [1] => 123
 *       )
 *   [2] => Array(
 *           [0] => admin2
 *           [1] => 123
 *       )
 *   [3] => Array(
 *           [0] => admin3
 *           [1] => 123
 *       )
 * )
 */

    /**
     * ��33��:PHP����������
     * �ܽ�:
     *   (1)arsort():���������ֵ���������desc�������򲢱���������ϵ
     *   (2)asort() :���������ֵ���������asc���򲢱���������ϵ

     *   (3)krsort():��������������������desc�������򲢱���������ϵ
     *   (4)ksort() :��������������������asc���򲢱���������ϵ
     *
     *   (5)sort()/rsort()  :���������ֵ���������asc��desc����,������Ϊ�����еĵ�Ԫ�����µļ���,ԭ�еļ�������ɾ��
     *
     */

/**
 * ��34��:reset()�� end() ʹ��
 *
 */
$stack = array(
    array("admin1","123"),
    array("admin2","123"),
    array("admin3","123")
);

echo "<pre>";print_r(reset($stack));
/**
 * ��reset()���麯�������Ľ��:

 * Array(
 *   [0] => admin1
 *   [1] => 123
 * )
 */
echo "<pre>";print_r(end($stack));

/**
 * ��end()���麯�������Ľ��:

 * Array(
 *   [0] => admin3
 *   [1] => 123
 * )
 */

/**
 * ��35��:crypt()�� md5() ������ܺ�����ʹ��
 *
 */
echo crypt("123","v1pin")."<br/>";

echo crypt("admin","v1pin")."<br/>";

echo md5("admin");

/**
 * ��36��:parse_str() �����Ѳ�ѯ�ַ���������������
 *
 */
parse_str("id=23&name=John%20Adams");
echo $id."<br />";//23
echo $name."<br/>";//John Adams

parse_str("id=23&name=John%20Adams",$arr);
echo "<pre>";print_r($arr);

/**
 * ��parse_str()���麯�������Ľ��:
 *
 * Array(
 *   [id] => 23
 *   [name] => John Adams
 * )
 */

//��37��:дһ������,�����ܸ�Ч��,��һ����׼ url ��ȡ���ļ�����չ��,���磺/abc/de/fg.php?id=1 ��Ҫȡ�� php �� face.php
$url = "http://www.baidu.com/abc/de/fg.php?id=1";

/**
 * parse_url($url):����$url,���Թ���������ʽ����url��Ϣ
 *
 * Array(
 *   [scheme] => http
 *   [host] => www.baidu.com
 *   [path] => /abc/de/fg.php
 *   [query] => id=1
 * )
 */
$path = parse_url($url);
echo "<pre>";print_r($path);


/**
 * pathinfo() �����Թ����������ʽ�����ļ�·������Ϣ
 *
 * print_r(pathinfo($path['path']));//����������:
 * Array(
 *   [dirname] => /abc/de        �ȼ��� dirname($path['path']);
 *   [basename] => fg.php        �ȼ��� basename($path['path']);
 *   [extension] => php
 *   [filename] => fg
 * )
 */
echo "<pre>"; print_r(pathinfo($path['path']));
echo pathinfo($path['path'],PATHINFO_DIRNAME)."<br/>";    //���:"/abc/de"  PATHINFO_DIRNAME - ֻ���� dirname
echo pathinfo($path['path'],PATHINFO_BASENAME)."<br/>";   //���:"fg.php"       PATHINFO_BASENAME - ֻ���� basename
echo pathinfo($path['path'],PATHINFO_EXTENSION)."<br/>";//���:"php"        PATHINFO_EXTENSION - ֻ���� extension
echo dirname($path['path'])."<br/>";  //���:"/abc/de"
echo basename($path['path'])."<br/>"; //���:"fg.php"

$url = "http://www.baidu.com/abc/de/fg.php?id=1";
echo basename($url)."<br/>";//���:"fg.php?id=1"
echo strripos(basename($url),"?")."<br/>";//���:6     strripos()-��߿�ʼ,�ַ����һ�γ��ֵ�λ��
echo substr(basename($url),0,strripos(basename($url),"?"))."<br/>";//���:"fg.php"



/**
 * ��38��:��HTTP 1.0�У�״̬�� 401 �ĺ����ǣ���;������ء��Ҳ����ļ�������ʾ������� header �����������Ϊ������
 *
 *  ��δ��Ȩ,
 *      header("HTTP/1.0 404 Not Found");
 */

    /**
     * ��39��:����php.ini�ļ��е�safe_modeѡ��,��Ӱ�쵽��Щ������Ӧ�ã�����˵���ĸ�
     *
     *  ����ҪӰ���ļ������ຯ��������ִ���ຯ�� �ȵ�
     *      ��:pathinfo()��basename()��fopen()��exec() �ȵ�
     */

    /**
     * ��40��:����POST��GET�������������Ƕ��٣�
     *
     *  (1)��:GET������������,������1MB֮��,POST������������û�д�С����
     *
     *  (2)����:GET�����ύ�ı����ݱ����ӵ�URL��,����ΪURL��һ���ַ��͵��������ˡ�URL�ĳ���Ӧ������1MB�ַ����ڡ�������͵�������̫��,���ݽ����ض�,�Ӷ����������ʧ�ܵĴ�����;
     *     POST������������URL,���Ὣ���ݵĲ���ֵ��ʾ�ڵ�ַ���С�����,POST��������û�����Ƶ���������˴�������,�����ύ����Ϣ�ں�̨����,�û�����������ǿ�������һ���̵�,��ȫ�Ը�;
     */

    /**
     * ��41��:���ͨ��form�������ϴ��ļ��Ĵ�С��
     *
     *  (1)��:��form����,ͨ��������MAX_FILE_SIZE�����ϴ��ļ��Ĵ�С,����������ļ���֮ǰ���ܹ������á�
     *
     *  (2)����:�ڿͻ��˿����ϴ��ļ�,Ӧ�õ�form���е�enctype��method����,�Լ������� MAX_FILE_SIZE
     *      enctype="multipart/form-data"    //ָ�����������ݷ�ʽ
     *      method="post"                    //ָ�����ݵĴ��䷽ʽ
     *      <input type="hidden" name="MAX_FILE_SIZE" value="10000" /> //ͨ������������ϴ��ļ��Ĵ�С(��λΪ�ֽ�),��ֵ���ܳ���php.ini�����ļ��� upload_max_filesize ѡ�����õ�ֵ
     */

/**
 * ��42��:����򵥵Ĵ����дһ����ȡ�������������ֵ�ĺ���
 */
echo max(30,5,25);//���:30

 /**
  * ��43��:��ν� 1234567890 ת���� 1,234,567,890 ÿ��λ�ö��Ÿ�������ʽ��
  */
echo number_format("1234567890")."<br/>";         //���:1,234,567,890      Ĭ���Զ�����Ϊ�ָ���
echo number_format("1234567890",2)."<br/>";           //���:1,234,567,890.00       ����2-ָ��С��λ��
echo number_format("1234567890",2,",",".")."<br/>"; //���:1.234.567.890,00     ����2-ָ��С��λ�� ����3-�涨���С������ŵ��ַ���  ����4-�涨����ǧλ�ָ������ַ���

 /**
  * ��44��:��ξ����ܸ�Ч�Ĵӱ�׼URL��ȡ���ļ���
  */
$url = "http://www.baidu.com/abc/de/fg.php?id=1";
echo basename($url)."<br/>";//���:"fg.php?id=1"
echo strripos(basename($url),"?")."<br/>";//���:6     strripos()-��߿�ʼ,�ַ����һ�γ��ֵ�λ��
echo substr(basename($url),0,strripos(basename($url),"?"))."<br/>";//���:"fg.php"
echo substr("fg.php?id=1",0,6);//���:"fg.php"   ����3-��ȡ���ַ�����

    /**
     * ��45��:stripos()��strpos()��strripos()��strrpos() �ַ�������������
     *
     *  (1)stripos():�����ַ�������һ�ַ����е�һ�γ��ֵ�λ��(��Сд������)
     *  (2)strpos() :�����ַ�������һ�ַ������״γ��ֵ�λ�ã��Դ�Сд���У�
     *  (3)strripos():�����ַ�������һ�ַ����������ֵ�λ��(�Դ�Сд������)
     *  (4)strrpos():�����ַ�������һ�ַ����������ֵ�λ��(�Դ�Сд����)
     */

/**
 * ��46��:��дһ��������ʵ�����¹��ܣ��ַ���"open_door" ת���� "OpenDoor"��"make_by_id" ת���� "MakeById"
 */

function str_change($str) {
    $str = str_replace ( "_", " ", $str );
    $str = ucwords ($str);
    $str = str_replace(" ","",$str);
    return $str;
}

echo str_change("open_door")."<br/>";//���:"OpenDoor"
echo str_change("make_by_id")."<br/>";//���:"MakeById"

function str_change1($str) {
    $str_arr = explode("_", $str );
    foreach($str_arr as $key => $val){
        $str_arr[$key] = ucwords ($val);
    }
    return implode("",$str_arr);
}

echo str_change1("open_door")."<br/>";//���:"OpenDoor"
echo str_change1("make_by_id")."<br/>";//���:"MakeById"
echo $str1=implode("",array_map(function($val){return ucwords($val);},explode("_","open_door")));//���:"OpenDoor",��ʾ:�ص�����Ҫ�з���ֵ;array_map()�����û��Զ��庯�����ú������
echo $str2=implode("",array_map(function($val){return ucwords($val);},explode("_","make_by_id")));//���:"MakeById",��ʾ:�ص�����Ҫ�з���ֵ;array_map()�����û��Զ��庯�����ú������
echo $str3=implode("",array_map('ucwords',explode("_","open_door")));//���:"OpenDoor",��ʾ:�ص�����Ҫ�з���ֵ;array_map()�����û��Զ��庯�����ú������
echo $str4=implode("",array_map('ucwords',explode("_","make_by_id")));//���:"MakeById" ,��ʾ:�ص�����Ҫ�з���ֵ;array_map()�����û��Զ��庯�����ú������
$arr1=explode("_","open_door");$flag=@array_walk($arr1,'ucwords');echo implode("",$arr1);//���:"OpenDoor",��ʾ:�ص�����û�з���ֵ;array_walk()��������ÿ��Ԫ��ʹ�ûص�����������boolֵ
$arr2=explode("_","make_by_id");$flag=@array_walk($arr2,'ucwords');echo implode("",$arr2);//���:"MakeById",��ʾ:�ص�����û�з���ֵ;array_walk()��������ÿ��Ԫ��ʹ�ûص�����������boolֵ

/**
 * ��47��:���������ڵĲ���������2007-2-5 ~ 2007-3-6 �����ڲ���
 */

echo (strtotime("2007-3-6")-strtotime("2007-2-5"))/(3600*24);//���:29 ��

/**
 * ��48��:�����php�Ļ��������õ�һ����ҳ��ַ������?
 * ��:"http://www.baidu.com/index.php?id=10"
 */

echo $_SERVER['REQUEST_URI'];//���:"/index.php?id=10"

/**
 * ��49��:array_map() �� array_walk() ���麯��������
 *  array_map() �����û��Զ��庯�����ú������
 *  array_walk() ��������ÿ������ʹ�ûص�����������boolֵ
 */

$array = array('AAA', 'bbb');
$map_array = array_map('strtolower', $array);
/**
 * ������:
 * Array(
 *      [0] => aaa
 *      [1] => bbb
 * )
 */
print_r($map_array);
/**
 * ������:
 * Array(
 *      [0] => AAA
 *      [1] => BBB
 * )
 */
print_r($array);


//����ص�������Ҫֱ�������������е�ֵ�����Խ��ص������ĵ�һ������ָ��Ϊ���ã�&$value
function array_walk_func(&$v, $k){
    $v = strtolower($v);
}
$walk_array = array_walk($array, 'array_walk_func');
/**
 * ������:1
 */
print_r($walk_array);
/**
 * ������:
 * Array(
 *      [0] => aaa
 *      [1] => bbb
 * )
 */
print_r($array);

/**
 *��50��:���ʹ��phpʵ��˫����У�
 */
class Deque
{
    public $queue;

    public function __construct()
    {//���캯��,����һ������
        $this->queue = array();
    }

    public function addFirst($item)
    {//array_unshift() ���������鿪ͷ����һ������Ԫ�ء�
        return array_unshift($this->queue, $item);
    }

    public function removeFirst()
    {
        return array_shift($this->queue);//PHP array_shift() ����ɾ�������еĵ�һ��Ԫ��
    }

    public function addLast($item)
    {//������ĩβ׷��Ԫ�أ���ָ���±꣬Ĭ��Ϊ����
        return array_push($this->queue, $item);
    }

    public function removeLast()
    {
        return array_pop($this->queue);//PHP array_pop() ����ɾ�������е����һ��Ԫ��
    }
}